home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Graphics Plus
/
Graphics Plus.iso
/
general
/
raytrace
/
rayshade
/
readme.ami
< prev
next >
Wrap
Text File
|
1992-02-21
|
6KB
|
159 lines
February 19, 1992 Amiga Rayshade Readme (port by Colin DeWolfe)
-----------------
What we have here in this directory is the current release of Rayshade 4.0. The purpose
of this readme is not to explain the use of Rayshade in general, but to explain how to
use it on the Amiga.
Installation
------------
The only thing you have to do to install rayshade is to copy the file ixemul.library
in the libs directory to LIBS: and add the bin directory to your path.
The Stack
---------
Rayshade is a stack pig. The newest release isn't as much of a pig as the older
revisions were (Thanks Craig) but it still loves stack space. Most of the examples in
the Examples directory can be rendered using a stack of under 200,000 but some exhibit
wierd results if they do run out of stack, especially the constructive solid geometry ones.
If rayshade does happen to run out of stack one of three things will happen: 1) it will crash
gloriously, 2) the ixemul.library will trap the error and return gracefully to the shell, or
3) you will just get unpredictable results. All these seem to depend on how many processes
you have running and if rayshade's stack ends up running over some other program's data.
Included is a program called StackWatch (James Locker) which will report stack
usage every 30'th of a second. This is great for examining how much stack Rayshade is
actually using. It will probably miss alot of peak usage, but it will give you an idea.
Running Rayshade
----------------
You run Rayshade by using a CLI command of the following form:
1.drive:dir/dir> rayshade < file.ray > file.mtv [options]
The documents say that you can use the form "rayshade file.ray > file.mtv [options]"
however I had some trouble supporting this with the GNU C pre-processor, so just use the
form above and you will be fine. I will try to fix this, even if it means switching to
another pre-processor.
Rayshade will fire up the C pre-processor on your input and then start rendering.
Documentation
-------------
In the Doc directory are the postscript file for the Guide, Copyright notice,
documentation for some of the support utilities, BUGS, TODO list and other legal stuff.
Some of the utility programs are lacking documentation. These are: 24toppm, ppmto24,
mtv2tmp, splitanim, and ppmtomtv. These last three I wrote and have since lost the
source code for (long story). The other two have notices in the program and did not come
with documentation in the archive that I had. These will be documented below.
Viewing Pictures
----------------
Once Rayshade has finished cooking you probably want to look at what it did.
Currently there are three methods for doing this.
1) run mtvtoppm < file.mtv > pipe:a
ppmtoilbm -hamforce < pipe:a > file.ilbm
(Then use your favorite display utility or paint program.)
2) mtvtoppm < file.mtv > file.ppm
ppmto24 file.ppm file.iff24
(This will create a 24 bit iff file for you lucky people with 24 bit boards.)
3) or for preview
mtv2tmp file.mtv file.tmp (size limit of 320 400)
ray2 file (note: no extension)
(Ray2 is taken from DBW Render. It has problems writing a 'correct' ilbm file.
Most paint programs can load it, but most display viewers can't. Go figure.)
Image Mapping
-------------
Rayshade supports image mapping. All the details are in the guide, however
I must mention that it likes its input images in the mtv format. For this reason
the utilities 24toppm, ilbmtoppm, and ppmtomtv are included. They have usage guides if you
just type their name at the shell prompt or have a doc file in the Doc. directory.
Animations
----------
Rayshade has built in animation support as documented in the guide. It is quite
basic however and you will probably end up doing animations using C to generate N input
files. For those of you who will use the built in animation support, I have included a
program called splitanim which will split up the sometimes huge image file that is
produced (Rayshade renders all the frames of an animation into one long file.)
The usage is as follows:
splitanim coin.mtv (for the example animation given in the Examples directory)
You will be presented with immense disk activity and then after that, a whole plethora
of files named "*.mtv.n" files where * is the base name (in this case coin) and n is the
frame number. You can then do with these what you will.
IT'S NOT A BUG, IT'S A FEATURE
------------------------------
The GCC support for the pipe: device is abysmal. So, I had to kludge the
gcc-cpp support by writing two temporary files, one called pipein and the other
called pipeout. These are written to the current directory. Pipein is exactly
the same as the original input file and pipeout is the pre-processed input file.
The reason I am saying that it's a feature is because gcc-cpp will sometimes
embed spaces where you don't want them, i.e., in the middle of a file path.
Rayshade will complain about this. What you can then do is edit the file
"pipeout" to fix this and then feed this file into Rayshade like this:
rayshade < pipeout > file.mtv [options]
Rayshade will now happily generate your image.
I am going to work on this further, but it may mean moving to another CPP.
Or if anyone has a working version of popen(), mail it to me.
BTW, this problem with gcc-cpp also happens on other platforms (IRIS, SUN...).
Acknowledgements
----------------
For : Rayshade 4.0: Craig Kolb of Princeton University
ppmtoilbm: The German dudes who ported the great PPM toolkit.
You know who you are. (Blatant plug: Get this thing)
ppmto24, 24toppm: A.J. Brouwer
mtv2tmp, splitanim, Me. :-) (What a self serving little snot, eh?)
ppmtomtv
gcc-cpp: GNU. Also Markus Wild, who ported it to the Amiga
and without who's port of GCC this wouldn't have
been possible (SAS and Manx both barfed on the
source code.)
Sustainance: Ron the Pizza Guy
-------------------------------------------------------------------------------
Mail messages (no money, this is freely redistributable) can be sent to:
Snail (Canada Post):
Colin G. DeWolfe | email: dewolfe@ug.cs.dal.ca
Unit #2 | dewolfe@iris1.ucis.dal.ca
5254 Green St., | dewolfcg@newton.ccs.tuns.ca
Halifax, Nova Scotia |
Canada
B3H 1N7